#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//计算两个int(32位)整数m和n的二进制表达中，有多少个位不同
//方法二
int number_of_1(int x)
{
	int count = 0;
	while (x)
	{
		x=x& (x-1);//再计算二进制制中1的个数
		count++;
	}
	return count;
}
int main()
{
	int m = 0;
	int n = 0;
	scanf("%d %d", &m, &n);
	//^异或，想同为0，相异为1
	int ret = number_of_1(m ^ n);
	printf("%d", ret);
	return 0;
}
////方法一：拿出它的每一位进行比较
//int main()
//{
//	int m = 0;
//	int n = 0;
//	scanf("%d %d", &m, &n);
//	int i = 0;
//	int count = 0;
//	for (i = 0; i < 32; i++)
//	{
//		if (((m >> i) & 1) != ((n >> i) & 1))
//			count++;
//	}
//	printf("%d", count);
//	return 0;
//}